﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Inspired.Euler.Tests
{
    /// <summary>
    /// Tests for problems from 150 to 159
    /// </summary>
    [TestClass]
    public class Problems150To159
    {
        [TestMethod]
        [Description("Searching a triangular array for a sub-triangle having minimum-sum.")]
        public void Problem150()
        {
            Assert.AreEqual(-1, Euler.Problem150.Solve());
        }

        [TestMethod]
        [Description("Paper sheets of standard sizes: an expected-value problem.")]
        public void Problem151()
        {
            Assert.AreEqual(-1, Euler.Problem151.Solve());
        }

        [TestMethod]
        [Description("Writing 1/2 as a sum of inverse squares")]
        public void Problem152()
        {
            Assert.AreEqual(-1, Euler.Problem152.Solve());
        }

        [TestMethod]
        [Description("Investigating Gaussian Integers")]
        public void Problem153()
        {
            Assert.AreEqual(-1, Euler.Problem153.Solve());
        }

        [TestMethod]
        [Description("Exploring Pascal&#39;s pyramid.")]
        public void Problem154()
        {
            Assert.AreEqual(-1, Euler.Problem154.Solve());
        }

        [TestMethod]
        [Description("Counting Capacitor Circuits.")]
        public void Problem155()
        {
            Assert.AreEqual(-1, Euler.Problem155.Solve());
        }

        [TestMethod]
        [Description("Counting Digits")]
        public void Problem156()
        {
            Assert.AreEqual(-1, Euler.Problem156.Solve());
        }

        [TestMethod]
        [Description("Solving the diophantine equation <sup>1</sup>/<sub><var>a</var></sub>+<sup>1</sup>/<sub><var>b</var></sub>= <sup><var>p</var></sup>/<sub>10<sup><var>n</var></sup></sub> ")]
        public void Problem157()
        {
            Assert.AreEqual(-1, Euler.Problem157.Solve());
        }

        [TestMethod]
        [Description("Exploring strings for which only one character comes lexicographically after its neighbour to the left.")]
        public void Problem158()
        {
            Assert.AreEqual(-1, Euler.Problem158.Solve());
        }

        [TestMethod]
        [Description("Digital root sums of factorisations.")]
        public void Problem159()
        {
            Assert.AreEqual(-1, Euler.Problem159.Solve());
        }
    }
}
